﻿/*
 *  HS-F04A.c
 *  (C) 2025  Guo Xin
 */
#include "main.h"

#define GPIO_Port GPIOB
#define	IN_A	GPIO_PIN_12
#define	IN_B	GPIO_PIN_13

/*
 * 初始化HS-F04A
 * 无返回值
 */
void HS_F04A_init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct = {0};
	__HAL_RCC_GPIOB_CLK_ENABLE();
	GPIO_InitStruct.Pin = IN_A | IN_B;
	GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
	GPIO_InitStruct.Pull = GPIO_NOPULL;
	GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
	HAL_GPIO_Init(GPIO_Port, &GPIO_InitStruct);
}

/*
 * 控制HS-F04A
 * IN_A_State: IN_A引脚状态
 * IN_B_State: IN_B引脚状态
 * IN_A_State = 1, IN_B_State = 0: 正转
 * IN_A_State = 0, IN_B_State = 1: 反转
 * 无返回值
 */
void HS_F04A_Ctrl(uint8_t IN_A_State, uint8_t IN_B_State)
{
	HAL_GPIO_WritePin(GPIO_Port, IN_A, IN_A_State);
	HAL_GPIO_WritePin(GPIO_Port, IN_B, IN_B_State);
}
